package qldc.pm.tiensu.service.impl;

import java.util.Date;
import java.util.List;

import qldc.pm.tiensu.NoSuchTEMP_TienSuException;
import qldc.pm.tiensu.NoSuchTienSuException;
import qldc.pm.tiensu.model.TEMP_DoiTuongTienSu;
import qldc.pm.tiensu.model.TEMP_TienSu;
import qldc.pm.tiensu.model.TienSu;
import qldc.pm.tiensu.model.impl.TEMP_TienSuImpl;
import qldc.pm.tiensu.service.TEMP_TienSuLocalServiceUtil;
import qldc.pm.tiensu.service.base.TEMP_TienSuLocalServiceBaseImpl;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.Validator;

/**
 * The implementation of the t e m p_ tien su local service.
 *
 * <p>
 * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link qldc.pm.tiensu.service.TEMP_TienSuLocalService} interface.
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author Brian Wing Shun Chan
 * @see qldc.pm.tiensu.service.base.TEMP_TienSuLocalServiceBaseImpl
 * @see qldc.pm.tiensu.service.TEMP_TienSuLocalServiceUtil
 */
public class TEMP_TienSuLocalServiceImpl extends TEMP_TienSuLocalServiceBaseImpl {
	public TEMP_TienSu addTEMP_TienSu(long userId, String screenName, long doiTuongTienSuId, String banAnSo,
			String toaAnXuPhat, String diaChiToaAnXuPhat, Date ngayToaAn,
			String toiDanh, Date ngayPhamToi, boolean xoaAnTich,
			String chuThich, String hinhPhatChinh, String hinhPhatBoSung,
			String nghiaVuDanSu, String anPhi, String moTaTienAn, String undoRedo, String thaoTac, long mainTienSuId)
			throws SystemException {
		long tienSuId = counterLocalService.increment(TEMP_TienSu.class.getName());
		TEMP_TienSu tienSu = createTEMP_TienSu(tienSuId);
		
		tienSu.setUserId(userId);
		tienSu.setUserName(screenName);
		tienSu.setCreateDate(new Date());
		tienSu.setDoiTuongTienSuId(doiTuongTienSuId);
		tienSu.setToaAnXuPhat(toaAnXuPhat);
		tienSu.setMoTaTienAn(moTaTienAn);
		tienSu.setNgayToaAn(ngayToaAn);
		tienSu.setNgayPhamToi(ngayPhamToi);
		tienSu.setToiDanh(toiDanh);
		tienSu.setXoaAnTich(xoaAnTich);
		tienSu.setChuThich(chuThich);
		tienSu.setHinhPhatChinh(hinhPhatChinh);
		tienSu.setHinhPhatBoSung(hinhPhatBoSung);
		tienSu.setNghiaVuDanSu(nghiaVuDanSu);
		tienSu.setAnPhi(anPhi);
		tienSu.setBanAnSo(banAnSo);
		tienSu.setUndoRedo(undoRedo);
		tienSu.setThaoTac(thaoTac);
		tienSu.setMainTienSuId(mainTienSuId);
		
		tienSu = addTEMP_TienSu(tienSu);

		return tienSu;
	}
	public void xoaAllTempTienSu(long doiTuongTienSuTempId) throws SystemException{
		List<TEMP_TienSu> tienSus = temp_TienSuPersistence.findByDoiTuongTienSuId(doiTuongTienSuTempId);
		for (TEMP_TienSu ts : tienSus){
			TEMP_TienSuLocalServiceUtil.deleteTEMP_TienSu(ts);
		}
	}

	public TEMP_TienSu findByTEMPTienSuId(long tienSuId) {
		TEMP_TienSu tienSu = null;

		try {
			tienSu = temp_TienSuPersistence.findByPrimaryKey(tienSuId);
		}
		catch (SystemException e) {
		} catch (NoSuchTEMP_TienSuException e) {
			System.out.println("Not found tien su with id "+tienSuId);
		}

		return tienSu;
	}
	public TEMP_TienSu findTienSuMoitNhatOfDoiTuongTiensuIdTemp(long doiTuongTienSuTempId) throws SystemException{
		List<TEMP_TienSu> tienSus = temp_TienSuPersistence.findByDoiTuongTienSuId(doiTuongTienSuTempId);
		if (Validator.isNotNull(tienSus) && !tienSus.isEmpty()){
			return tienSus.get(0);
		}
		return null;
	}

	public TEMP_TienSu updateTEMP_TienSu(long tienSuId,long userId, String screenName, String c, long doiTuongTienSuId,
			String banAnSo, String toaAnXuPhat, String diaChiToaAnXuPhat,
			Date ngayToaAn, String toiDanh, Date ngayPhamToi,
			boolean xoaAnTich, String chuThich, String hinhPhatChinh,
			String hinhPhatBoSung, String nghiaVuDanSu, String anPhi, String undoRedo, String thaoTac, long mainTienSuId)
			throws SystemException, PortalException {
		TEMP_TienSu tienSu = getTEMP_TienSu(tienSuId);

		tienSu.setUserId(userId);
		tienSu.setUserName(screenName);
		tienSu.setModifiedDate(new Date());
		tienSu.setDoiTuongTienSuId(doiTuongTienSuId);
		tienSu.setToaAnXuPhat(toaAnXuPhat);
		// tienSu.setDiaChiToaAnXuPhat(diaChiToaAnXuPhat);
		tienSu.setNgayToaAn(ngayToaAn);
		tienSu.setNgayPhamToi(ngayPhamToi);
		tienSu.setToiDanh(toiDanh);
		tienSu.setXoaAnTich(xoaAnTich);
		tienSu.setChuThich(chuThich);
		tienSu.setHinhPhatChinh(hinhPhatChinh);
		tienSu.setHinhPhatBoSung(hinhPhatBoSung);
		tienSu.setNghiaVuDanSu(nghiaVuDanSu);
		tienSu.setAnPhi(anPhi);
		tienSu.setBanAnSo(banAnSo);
		tienSu.setUndoRedo(undoRedo);
		tienSu.setThaoTac(thaoTac);
		tienSu.setMainTienSuId(mainTienSuId);
		tienSu = updateTEMP_TienSu(tienSu);

		return tienSu;
	}
	

}
